home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
lib
/
calc
/
help
/
operator
< prev
next >
Wrap
Text File
|
1995-07-17
|
3KB
|
79 lines
Operators
The operators are similar to C, but the precedence of most of
the operators differs. In addition, there are several additional
operators, and some C operators are missing. The following list
gives the operators arranged in order of precedence, from the
least tightly binding to the most tightly binding.
, Comma operator.
For situations in which a comma is used for another purpose
(function arguments, array indexing, and the print statement),
parenthesis must be used around the comma operator.
a?:b:c Conditional value.
The test for 'a' is identical to an if test.
= += -= *= /= %= //= &= |= <<= >>= ^= **=
Assignments.
|| Conditional OR.
Unlike C, the result is the first non-zero expression or 0,
instead of just 0 or 1.
&& Conditional AND.
Unlike C, the result is the last expression or 0,
instead of just 0 or 1.
== != <= >= < >
Relations.
+ -
Binary plus and minus.
* / // %
Multiply, divide. and modulo.
Please Note: The '/' operator is a fractional divide,
whereas the '//' is an integral divide. Thus think of '/'
as division of real numbers, and think of '//' as division
of integers (e.g., 8 / 3 is 8/3 whereas 8 // 3 is 2).
The '%' is integral or fractional modulus (e.g., 11%4 is 3,
and 10%pi() is ~.575222).
| Logical OR.
The signs of numbers do not affect the bit value.
& Logical AND.
The signs of numbers do not affect the bit value.
^ ** << >>
Powers and shifts.
The '^' and '**' are both exponentiation (e.g., 2^3 is 8).
The signs of numbers do not affect the bit values of shifts.
These operators associate rightward (e.g., 1<<3^2 is 512).
+ - !
Unary operators.
The '!' is the logical NOT operator. Be careful about
using this as the first character of a top level command,
since it is also used for executing shell commands.
++ --
Pre or post indexing.
These are applicable only to variables.
[ ] [[ ]] . ( )
Indexing, double-bracket indexing, element references,
and function calls. Indexing can only be applied to matrices,
element references can only be applied to objects, but
double-bracket indexing can be applied to matrices, objects,
or lists.
variables constants . ( )
These are variable names and constants, the special '.' symbol,
or a parenthesized expression. Variable names begin with a
letter, but then can contain letters, digits, or underscores.
Constants are numbers in various formats, or strings inside
either single or double quote marks.